Fast Triangulation of Simple Polygons
نویسندگان
چکیده
We present a new algorithm for triangulating simple polygons that has four advantages over previous solutions [GJPT, Ch]. a) It is faster: Whilst previous solutions worked in time O(nlogn), the new algorithm only needs time O(n+rlogr) where r is the number of concave angles of the polygon. b) It works for a larger class of inputs: Whilst previous solutions worked for simple polygons, the new algorithm handles simple polygons with polygonal holes. c) It does more: Whilst previous solutions only triangulated the interior of a simple polygon, the new algorithm triangulates both the interior and the exterior region. d) It is simpler: The algorithm is based on the plane-sweep paradigm and is at least in its O(nlogn) version very simple. In addition to the new triangulation algorithm, we present two new applications of triangulation. a) We show that one can compute the intersection of a convex m-gon Q and a triangulated simple n-gon P in time O(n+m). This improves a result by Shamos [Sh] stating that the intersection of two convex polygons can be computed in time O(n). b) Given the triangulation of a simple n-gon P, we show how to compute in time O(n) a convex decomposition of P into at most 4.OPT pieces. Here OPT denotes the minimum number of pieces in any convex decomposition. The best factor known so far was 4.333 (Chazelle[Ch]).
منابع مشابه
A Fast, Practical Algorithm for the
—A fast, practical, deterministic algorithm for the horizontal trapezoidation of simple polygons is presented. The polygon is decomposed into a minimal collection of trapezoid sequences, such that two trapezoids adjacent within a sequence always share a common horizontal border. Such trapezoid sequences are a convenient data structure in a display list for a collection of polygonal objects to...
متن کاملRobust Incremental Polygon Triangulation for Fast Surface Rendering
This paper presents a simple, robust and practical, yet fast algorithm for triangulation of points on the domain of trimmed Bézier surfaces. These R points are input to this algorithm by a surface sampler. A set of polygons is formed from these samples, which are then triangulated. We also show how to update the triangulation when the samples, and hence the polygons, are updated. The output is ...
متن کاملOn Hamiltonian Triangulations in Simple Polygons
An n-vertex simple polygon P is said to have a Hamiltonian Triangulation if it has a triangulation whose dual graph contains a hamiltonian path. Such triangulations are useful in fast rendering engines in Computer Graphics. We give a new characterization of polygons with hamiltonian triangulations and use it to devise O(n logn)-time algorithms to recognize such polygons. We also give eecient al...
متن کاملAn Extension to Hain’s Trapezoidation Algorithm to Handle Polygons with Holes
Hain’s trapezoidation algorithm is a fast, practical algorithm for the reduction of simple polygons into horizontally aligned trapezoids partitioned into a minimal collection of trapezoid sequences. An extension to this algorithm is described which allows trapezoidation of simple polygons with an arbitrary number of non-intersecting holes. The minimal computational cost per hole is a traversal ...
متن کاملOn Hamiltonian Triangulations in
An n-vertex simple polygon P is said to have a Hamilto-nian Triangulation if it has a triangulation whose dual graph contains a Hamiltonian path. Such triangulations are useful in fast rendering engines in Computer Graphics. We give a new characterization of polygons with Hamiltonian triangulations. and use it to devise O(n log n)-time algorithms to recognize such polygons.
متن کاملFast Triangulation of the Plane with Respect to Simple Polygons
Let P~,..., Pk be pairwise non-intersecting simple polygons with a total of n vertices and s start vertices. A start vertex, in general, is a vertex both of which neighbors have larger x coordinate. We present an algorithm for triangulating P~,..., Pk in time O(n + s log s). s may be viewed as a measure of non-convexity. In particular, s is always bounded by the number of concave angles + 1, an...
متن کامل